package com.shanyu.nicefish.service;

import com.github.pagehelper.PageHelper;
import com.shanyu.nicefish.bean.Role;
import com.shanyu.nicefish.mapper.RoleMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * RoleService
 *
 * @blame czj Team
 */
@Service
@Transactional
public class RoleService {

    @Autowired
    RoleMapper roleMapper;

    public List<Role> roles() { return roleMapper.roles(); };

    /**
     * 分页查询接口
     * 这里统一封装了分页请求和结果，避免直接引入具体框架的分页对象, 如MyBatis或JPA的分页对象
     * 从而避免因为替换ORM框架而导致服务层、控制层的分页接口也需要变动的情况，替换ORM框架也不会
     * 影响服务层以上的分页接口，起到了解耦的作用
     */
    public List<Role> selectRolePage() {
        PageHelper.startPage(1, 10);
        return roleMapper.selectRolePage();
        //return PageHelper.startPage(1,10).doSelectPageInfo<List<Role>>(() -> roleMapper.selectRolePage());
    }

}
